1. Field of the Invention
The invention generally relates to the acquisition of IPv6 addresses, and more particularly, to the acquisition of IPv6 addresses in mobile communication devices.
2. Description of the Related Art
With the explosive growth of Internet applications, more and more devices, such as personal computers, workstations, laptop computers, smart phones, and various electric appliances, require IP addresses to communicate on the Internet. It leads to a problem that the number of the commonly adopted IP addresses provided by the Internet Protocol version 4 (IPv4) is going to be used up. In order to accommodate the fast growing needs for IP addresses, the Internet Protocol version 6 (IPv6) has been proposed by the Internet Engineering Task Force (IETF) to solve the long-anticipated problem of IPv4 address exhaustion, and provide a sufficient address space, simplified header format, support for authentication and privacy, auto-configuration of address assignments, and new Quality-of-Service (QoS) capabilities. The IPv4 uses 32 bits for an IP address and therefore has 232 possible addresses, while the IPv6 uses 128 bits for an addresses and results in 2128 possible addresses (approximately 340 undecillion or 3.4×1038). This expansion can accommodate much more devices and users on the Internet and offer extra flexibility in allocating addresses and efficiency in routing traffic. It also relieves the need on Network Address Translation (NAT), which is widespread deployed as a work around for the IPv4 address exhaustion problem. An IPv6 address is typically composed of two parts: a 64-bit network prefix (referred to herein as prefix for brevity) used for routing, and a 64-bit interface identifier used to identify a host's network interface. In general, the prefix is contained in the most significant 64 bits of the IPv6 address. The interface identifier is generated from the interface's MAC address using the modified EUI-64 format, obtained from a DHCPv6 server of GGSN, established randomly, or just assigned manually. Particularly, a dynamic IPv6 address is configured using the stateless address auto-configuration (SLAAC).
FIG. 1 is a message sequence chart illustrating a stateless address auto-configuration of an IPv6 address in a mobile communication system. In the mobile communication system, a Mobile Terminal (MT) 20 provides wireless communications with a service network for a connected Terminal Equipment (TE) 10, wherein the service network comprises a Serving GPRS (General Packet Radio Services) Support Node (SGSN) 30 for packet routing and transfer and a Gateway GPRS Support Node (GGSN) 40 for packet routing and transfer and Packet Data Protocol (PDP) addresses assignments. As shown in FIG. 1, the TE 10 initiates an IPv6 interface-identifier negotiation by sending a request for PDP context activation to the MT 20 when it requires an IPv6 address for packet transceiving within the Packet-Switched (PS) domain of the service network and for packet transceiving on the Intranet or Internet Service Provider (ISP) (step S110). In response to the received request from the TE 10, the MT 20 sends an Activate PDP Context Request message to the SGSN 30 (step S120). Specifically, the Activate PDP Context Request message may contain various parameters, such as the information concerning the requested Access Point Name (APN), PDP type, and Protocol Configuration Options (PCO). When receiving the Activate PDP Context Request message, the SGSN 30 further sends a Create PDP Context Request message to the GGSN 40 (step S130). Subsequently, the GGSN 40 replies to the SGSN 30 with a Create PDP Context Response message which indicates an assigned PDP address (step S140). The SGSN 30 forwards the PDP address to the MT 20 by sending an Activate PDP Context Accept message to the MT 20 (step S150). When receiving the Activate PDP Context Accept message, the MT 20 extracts an interface identifier from the PDP address and then indicates the interface identifier to the TE 10 via a response for PDP context activation (step S160). With the interface identifier, the TE 10 constructs a link-local address and then executes a router discovery process by sending a Router Solicitation (RS) message to the GGSN 40 (step S170). In reply, the GGSN 40 sends a Router Advertisement (RA) message indicating a prefix to the TE 10 (step S180). After that, an IPv6 address may be constructed according to the prefix and the interface identifier, and the procedure ends. However, under some circumstances, the GGSN 40 may delay the reply of the RA message to the TE 10 or may not reply at all, when receiving the RS message from the TE 10. As a result, the TE 10 may not obtain the required IPv6 address in time, and accordingly the user may experience a serious delay when establishing data network connectivity or even cannot access the data network.